package secondStage.part2.包装类;

/**
 * @ClassName: [IntegerStudy1]
 * @Description: 自动装箱和拆箱
 * @Author: [黄劲松]
 * @CreateDate: [2021-03-28]
 * @Version: [v1.0]
 */
/*
装箱：把基本数据类型转换为对应的包装类类型
拆箱：把包装类类型转换为对应的基本数据类型
注意:在使用包装类类型的时候，如果做操作，最好先判断是否为null
        我们推荐的是，只要是对象，在使用前就必须进行不为null的判断*/
public class IntegerStudy1 {
    public static void main(String[] args) {
        //装箱：把基本数据类型转换为对应的包装类类型
        Integer i = Integer.valueOf(100);//Integer.valueOf(100)这个动作装箱
        Integer ii = 100;//自动装箱，也做了Integer.valueOf(100)这个动作
        //拆箱：把包装类类型转换为对应的基本数据类型
        ii = ii.intValue() + 200;//ii.intValue()这个动作叫做拆箱，ii=ii.intValue() + 200叫做自动拆箱
        ii += 666;//自动拆箱和装箱
        System.out.println(ii);

        Integer iii = null;
        if (iii != null) {
            iii += 300;
        }//没有这个判断的话，会出现NullPointerException
    }
}
